package com.demo.java.OD1_50.OD48;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【最短木板长度】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145580603
 */
public class OdMain {
    public static void main(String[] args) {
        try {
            Scanner s = new Scanner(System.in);
            int a = s.nextInt();  // 木板的数量
            int b = s.nextInt();  // 增加操作的次数
            int[] values = new int[a];  // 存储木板的初始长度

            for (int i = 0; i < values.length; ++i) {
                values[i] = s.nextInt();  // 读取每块木板的长度
            }

            // 对木板长度进行排序，便于每次操作时选择最短的木板
            Arrays.sort(values);

            int maxLength = 0;  // 用于记录木板的最大最小长度
            for (int i = 0; i < b; ++i) {
                values[0] = values[0] + 1;  // 增加最短的木板的长度
                Arrays.sort(values);  // 重新排序，以便下次增加最短的木板
                maxLength = Math.max(maxLength, values[0]);  // 更新最大最小长度
            }

            // 输出最终的最大最小长度
            System.out.print(maxLength);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("input error");
        }
    }
}